home *** CD-ROM | disk | FTP | other *** search
- /* list.h - List Management Header File
- * Copyright 1988-90 by Cnapse
- * Written by: M. de Champlain
- */
-
- typedef struct link
- {
- struct link *previous;
- struct link *next;
- } LINK;
-
- extern void *List_Allocate(word theNumberOfNodes, word theNodeSize);
- extern void List_Free(void *theList);
- extern void *List_RemoveHead(void *fromTheList);
- extern void *List_RemoveTail(void *fromTheList);
- extern void *List_Remove(void *theNode);
- extern void List_InsertHead(void *theNode, void *toTheList);
- extern void List_InsertTail(void *theNode, void *toTheList);
- extern void List_InsertAfter(void *theNode, void *afterThisNode);
- extern void List_InsertBefore(void *theNode, void *beforeThisNode);
-
- #define List_IsEmpty(theList) ((bool) \
- ( ((LINK *)theList) == \
- ((LINK *)theList)->next )) \
-
-